<TagAttribute("shader_transparent_glass","sgla","shdr","????",1,480)>
Public Class SHADER_TRANSPARENT_GLASS_TAG
Inherits HaloTag
Public Const Extension as String = "shader_transparent_glass"
Public Const FourCC as String = "sgla"
Public Const ParentFourCC as String = "shdr"
Public Const GrandParentFourCC as String = "????"
Public Const [Version] as Short = 1
Public Const HeaderLength as Integer = 480

''' <summary>
''' 
''' </summary>
#Region "radiosity properties"

''' <summary>
''' 
''' </summary>
<TagField("flags", 1, 19)>
Public flags as Short

''' <summary>
''' affects the density of tesselation (high means slow).
''' </summary>
<TagField("detail level", 1, 17)>
Public detail_level as Short

''' <summary>
''' power of emitted light from 0 to infinity
''' </summary>
<TagField("power", 1, 0)>
Public power as Single

''' <summary>
''' 
''' </summary>
<TagField("color of emitted light", 3, 2)>
Public color_of_emitted_light as Single()

''' <summary>
''' light passing through this surface (if it's transparent) will be tinted this color.
''' </summary>
<TagField("tint color", 3, 2)>
Public tint_color as Single()

''' <summary>
''' 
''' </summary>
#End Region
#Region "physics properties"

''' <summary>
''' 
''' </summary>
<TagField("flags", 1, 19)>
Public flags_1 as Short

''' <summary>
''' 
''' </summary>
<TagField("material type", 1, 17)>
Public material_type as Short

''' <summary>
''' 
''' </summary>
<TagField("shader type index", 2, -1)>
Public shader_type_index as Byte()

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding as Byte()

''' <summary>
''' 
''' </summary>
#End Region
#Region "glass shader"

''' <summary>
''' 
''' </summary>
<TagField("flags", 1, 19)>
Public flags_2 as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_1 as Byte()

''' <summary>
''' Background pixels are multiplied by the tint map and constant tint color.
''' </summary>
#End Region
#Region "background tint properties"

''' <summary>
''' 
''' </summary>
<TagField("", 40, -1)>
Public padding_2 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("background tint color", 3, 2)>
Public background_tint_color as Single()

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("background tint map scale", 1, 0)>
Public background_tint_map_scale as Single

''' <summary>
''' 
''' </summary>
<TagField("background tint map", 16, 10)>
Public background_tint_map as New TAG_REFERENCE

''' <summary>
''' 
''' </summary>
<TagField("", 20, -1)>
Public padding_3 as Byte()

''' <summary>
''' Reflection maps are multiplied by fresnel terms (glancing angles cause reflections to disappear) and then added to the background. The primary reflection map is textured normally, while the secondary reflection map is magnified.
''' </summary>
#End Region
#Region "reflection properties"

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_4 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("reflection type", 1, 17)>
Public reflection_type as Short

''' <summary>
''' 
''' </summary>
<TagField("perpendicular brightness:[0,1]", 1, 0)>
Public perpendicular_brightness as Single

''' <summary>
''' 
''' </summary>
<TagField("perpendicular tint color", 3, 2)>
Public perpendicular_tint_color as Single()

''' <summary>
''' 
''' </summary>
<TagField("parallel brightness:[0,1]", 1, 0)>
Public parallel_brightness as Single

''' <summary>
''' 
''' </summary>
<TagField("parallel tint color", 3, 2)>
Public parallel_tint_color as Single()

''' <summary>
''' 
''' </summary>
<TagField("reflection map", 16, 10)>
Public reflection_map as New TAG_REFERENCE

''' <summary>
''' 
''' </summary>
<TagField("bump map scale", 1, 0)>
Public bump_map_scale as Single

''' <summary>
''' 
''' </summary>
<TagField("bump map", 16, 10)>
Public bump_map as New TAG_REFERENCE

''' <summary>
''' 
''' </summary>
<TagField("", 128, -1)>
Public padding_5 as Byte()

''' <summary>
''' Diffuse lights are accumulated in monochrome and then alpha-blended with diffuse map and diffuse detail map. The color is determined by double-multiplying both maps and multi
''' </summary>
#End Region
#Region "diffuse properties"

''' <summary>
''' 
''' </summary>
<TagField("", 4, -1)>
Public padding_6 as Byte()

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("diffuse map scale", 1, 0)>
Public diffuse_map_scale as Single

''' <summary>
''' 
''' </summary>
<TagField("diffuse map", 16, 10)>
Public diffuse_map as New TAG_REFERENCE

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("diffuse detail map scale", 1, 0)>
Public diffuse_detail_map_scale as Single

''' <summary>
''' 
''' </summary>
<TagField("diffuse detail map", 16, 10)>
Public diffuse_detail_map as New TAG_REFERENCE

''' <summary>
''' 
''' </summary>
<TagField("", 28, -1)>
Public padding_7 as Byte()

''' <summary>
''' Specular lights are accumulated in monochrome and then alpha-blended with diffuse map and diffuse detail map. The color is determined by double-multiplying both maps and multiplying with the a
''' </summary>
#End Region
#Region "specular properties"

''' <summary>
''' 
''' </summary>
<TagField("", 4, -1)>
Public padding_8 as Byte()

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("specular map scale", 1, 0)>
Public specular_map_scale as Single

''' <summary>
''' 
''' </summary>
<TagField("specular map", 16, 10)>
Public specular_map as New TAG_REFERENCE

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("specular detail map scale", 1, 0)>
Public specular_detail_map_scale as Single

''' <summary>
''' 
''' </summary>
<TagField("specular detail map", 16, 10)>
Public specular_detail_map as New TAG_REFERENCE

''' <summary>
''' 
''' </summary>
<TagField("", 28, -1)>
Public padding_9 as Byte()
#End Region

End Class
